當你開始學習數據時,最常出現的第一個問題是如何選擇合適的工具。
我應該學 SQL 還是 Python?
剛開始時,我是沒有這個問題,因為我對兩者都一無所知 😶🌫️。
我從使用試算表,發現 SQL 可以解決試算表無法打開的問題(參見 Day 2),因此很自然的,我的下一步就是學習 SQL。
當時我的需求和能力是:
我能做的是:
👼 很幸運 CTO 支持我。他發現我在學 SQL,於是教我如何將試算表接到 BigQuery。
如果這個問題不夠重要,可以請個實習生、增加我的工作量或將報告更新頻率從每天降低到每月,就解決了。如果問題很重要,但我學不會 SQL,那麼這項工作可能會指派給另一人,我也無法開始接觸數據分析!🧟♀️
很高興可以擺脫打不開的試算表,並更快地進行分析工作。我沒有意識到當時是多麼幸運。當我在另一家公司遇到同樣的問題時,就沒有這樣的支援。
讓我先介紹 ETL。這是資料處理的普遍做法。你必須取得一些資料,分析它,並向其他人展示你的結果。
在我 v1 的版本中,
我將資料從試算表匯入到 BigQuery,然後在 BigQuery 上進行 transfer,並將資料重新 load 到我的試算表中。當時對我來說這是個好方法,因為我只會試算表和一點點 SQL。
當我轉到另一家公司並要求 BigQuery 時,發現沒有!😦 我就不知道該怎麼做。以下是我的 v2.1,
工程師教我使用 sequelpro 連接到 Prodcution Server。我不太會用,只是想看到一些圖表。所以他們幫我架了 Metabase。
應該有些人已經想到接下來會發生什麼事 🤣,
為什麼網站這麼慢?
Karen,停止查詢資料!
注意,這是因為 OLAP vs. OLTP 不同。 Production Server 是 OLTP,它不適合用來做資料分析。
我應該考慮,
於是有了 v2.2,滿足了我的需求而又不影響線上網站。皆大歡喜。
根據你的特定問題和周圍的環境選擇一個作法。評估處理技術部分是否必要。是否值得投資?
🤜 提示,
如果你想進行一些資料分析但無法取得資料,試著專注一個重要的業務問題,並取得一些相關的資料,例如 csv 文件。分析這些 csv 文件,分享你對問題的發現,讓其他人感受到你分析的潛力跟啟發對資料分析的想像。展示價值之後,你才能要求更多投入。
有很多技術可以用來建立 data pipeline;我在這裡介紹了 ETL。根據你的問題、能力和環境選擇你的作法,參考你公司已在使用的工具,以及資料分析對業務的影響。
不要花太多時間選擇工具。只需嘗試看看什麼可以解決你的問題。在做中學,再慢慢調整。
對 dbt 或 data 有興趣 👋?歡迎加入 dbt community 到 #local-taipei 找我們,也有實體 Meetup 請到 dbt Taipei Meetup 報名參加